<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 创建一个set 数据结构 

        var test = new Set([100,200,300]);
        // console.log(test)

        // size 属性 
        // console.log(test.size);

        // add方法
        // test.add(10);
        // console.log(test)
        test.add({name:'zhangsan'});
        // console.log(test)
        test.add([1,2,3,4]);
        // console.log(test)

        // has方法 
        // 只能传一个变量 或者一个基本类型的数值 
        // 为什么直接[1,2,3,4] {'name':'zhangsan'} 会返回false
        // has 一定接收一个确切的结果 基本数据类型 
        // var target = [1,2,3,4];
        // test.add(target);
        // console.log(test.has(target)) // true
        // console.log(test.has([1,2,3,4]))// false

        // console.log(test.has(200))
        // // 直接test.has([1,2,3,4]) false

        // 
        // delete方法
        // console.log(test);
        // test.delete(200);
        // console.log(test);

        // delete 跟has一样 要么传一个变量  要么传一个基本数据类型
        // 引用类型的值可以改变 也就变成了不确定 
        // 不确定不能随便删除  

        // clear方法
        // console.log(test);
        // test.clear()
        // console.log(test);

        test.forEach(function(one,two,three){
            // console.log(one); // item 集合的元素
            // console.log(two); // two 元素的值
            // console.log(three); //origin 集合本身 test 本身


        });
    </script>
</body>
</html>